// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证（版本 2.0）进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动！任何基于本项目二次开发而产生的一切法律纠纷和责任，我们不承担任何责任！

using Admin.NET.Core;
using SqlSugar;
using System.ComponentModel.DataAnnotations;

namespace Admin.NET.Application.Entity;

/// <summary>
/// 货品表
/// </summary>
[Tenant("1300000000001")]
[SugarTable("goods", "货品表")]
public partial class GoodsModel : EntityBaseDel
{
    /// <summary>
    /// 货品编码
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "GoodsCode", ColumnDescription = "货品编码", Length = 64)]
    public virtual string GoodsCode { get; set; }
    
    /// <summary>
    /// 货品名称
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "GoodsName", ColumnDescription = "货品名称", Length = 128)]
    public virtual string GoodsName { get; set; }
    
    /// <summary>
    /// 货品类型编号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsTypeId", ColumnDescription = "货品类型编号")]
    public virtual long? GoodsTypeId { get; set; }
    
    /// <summary>
    /// 货品规格型号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsSpecs", ColumnDescription = "货品规格型号", Length = 128)]
    public virtual string? GoodsSpecs { get; set; } = "blue";
    
    /// <summary>
    /// 供应商编号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsSupplierId", ColumnDescription = "供应商编号")]
    public virtual long? GoodsSupplierId { get; set; }
    
    /// <summary>
    /// 客户编号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsCustomerId", ColumnDescription = "客户编号")]
    public virtual long? GoodsCustomerId { get; set; }
    
    /// <summary>
    /// 入库参考价/元
    /// </summary>
    [SugarColumn(ColumnName = "GoodsIntoMoney", ColumnDescription = "入库参考价/元")]
    public virtual int? GoodsIntoMoney { get; set; }
    
    /// <summary>
    /// 出库参考价/元
    /// </summary>
    [SugarColumn(ColumnName = "GoodsOutMoney", ColumnDescription = "出库参考价/元")]
    public virtual int? GoodsOutMoney { get; set; }
    
    /// <summary>
    /// 货品状态
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "GoodsType", ColumnDescription = "货品状态")]
    public virtual bool GoodsType { get; set; }
    
    /// <summary>
    /// 保质期管理
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "GoodsExpiration", ColumnDescription = "保质期管理")]
    public virtual bool GoodsExpiration { get; set; } = true;
    
    /// <summary>
    /// 保质期
    /// </summary>
    [SugarColumn(ColumnName = "GoodsExpirationNum", ColumnDescription = "保质期", Length = 64)]
    public virtual string? GoodsExpirationNum { get; set; }
    
    /// <summary>
    /// 预警天数
    /// </summary>
    [SugarColumn(ColumnName = "GoodsWarning", ColumnDescription = "预警天数")]
    public virtual int? GoodsWarning { get; set; }
    
    /// <summary>
    /// 货品备注
    /// </summary>
    [SugarColumn(ColumnName = "GoodsNote", ColumnDescription = "货品备注", Length = 512)]
    public virtual string? GoodsNote { get; set; }
    
    /// <summary>
    /// 货品单位编号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsUnitId", ColumnDescription = "货品单位编号")]
    public virtual long? GoodsUnitId { get; set; }
    
    /// <summary>
    /// 货品图片
    /// </summary>
    [SugarColumn(ColumnName = "GoodsPic", ColumnDescription = "货品图片", Length = 512)]
    public virtual string? GoodsPic { get; set; }
    
    /// <summary>
    /// 货品仓库编号
    /// </summary>
    [SugarColumn(ColumnName = "GoodsWareId", ColumnDescription = "货品仓库编号")]
    public virtual long? GoodsWareId { get; set; }
}
